//对于axios进行二次封装,带有请求、响应拦截器
import axios from "axios";
//引入进度条
import Nprogress from 'nprogress';
//进度条样式引入进来，否则看不见进度条
import "nprogress/nprogress.css"
//axios.create方法:也可以创建axios实例！！！在create方法里面可以书写一些配置项
let requests = axios.create({
    baseURL: '/taidi',//基础路径:在请求端口后面会加上这个路径 http://xxxx.8080/taidi
    timeout: 5000//超时事件的设置
});

//添加请求、响应拦截器
requests.interceptors.request.use((config) => {
    //检测到发请求，进度条开始动
    Nprogress.start();
    // console.log(config.headers,'请求头可以给服务器带参数');
    //config配置对象：里面包含请求头
    return config;
});

//响应拦截器
requests.interceptors.response.use((res) => {
    //请求数据回来进度条消失
    Nprogress.done();
    //服务器返回的对象
    //把服务器返回的数据进行简化
    //res:服务器返回数据对象:config 、data 、status header 、statusText：开发的时候只是需要res.data数据
    return res.data;
}, () => {
    return Promise.reject();
});

//最终对外暴露requests
export default requests;




